home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / os2 / tmidi210.zip / tmidi.doc < prev    next >
Text File  |  1997-04-11  |  8KB  |  207 lines

  1.  tMidi.doc                                   Copyright (C)1997 Cornel Huth
  2.  Release 2.10a                                                 10-Apr-1997
  3.  
  4.  
  5. tMidi is a real-time, VIO-based standard MIDI file player.  It also can
  6. be used with an attached keyboard to completely control the MPU(s).  You can
  7. play an SMF and the keyboard at the same time, even with just one MPU.
  8.  
  9.  
  10. Files included are:
  11.  
  12.         1. paradise.sys
  13.         2. tmidi.exe
  14.         3. several SMFs, documentation
  15.  
  16. Optionally, if you are running Warp 3 or earlier:
  17.  
  18.         4. clock01.sys  (clock02.sys available by request, for MCA)
  19.  
  20.  
  21. No other drivers are needed.  MMPM/2 is not required (but is okay), nor
  22. are any soundcard drivers.  This package includes everything you need for
  23. perfect MIDI playback, even under heavy multitasking.
  24.  
  25. For related files go to http://www.40th.com/ and look around the Paradise
  26. section.  If you are using an older version of the Paradise driver, be
  27. sure to replace it with the driver in this package (version 1.6).
  28.  
  29.  
  30. Installation
  31. ------------
  32.  
  33. Install the (two) SYS driver(s) in your boot drive's root directory and
  34. include a reference for the paradise driver in your config.sys:
  35.  
  36.         DEVICE=G:\PARADISE.SYS     (optional -q for quiet install)
  37.  
  38. Paradise version 1.6 or later is required.
  39.  
  40. CLOCK01.SYS, installed automatically by the boot process and so has no
  41. reference in the config.sys file, is based on the Warp 4.0 driver.  It
  42. can be used in previous OS/2 versions, too.  If you are using Warp 4.0,
  43. your CLOCK driver already has the IDC hook, so you can use the one you
  44. already have.  The included CLOCK01.SYS driver is only for those running
  45. Warp 3 or earlier.
  46.  
  47. If you have the old clock driver installed, paradise.sys will gracefully
  48. tell you so, and not install itself.  If you get this message at boot, use
  49. the included clock01.sys.
  50.  
  51. Note:  Due to a long-standing bug in OS/2, detection of obsolete clock
  52. drivers is not as straight-forward as it should be.  However, if the
  53. obsolete clock is not found during boot, it likely will be found by tmidi.
  54.  
  55. The clock01.sys driver in Warp 3's fixpack #26 is -not- an up-to-date
  56. driver.  If the clock01.sys driver is substantially less than 4000 bytes
  57. (e.g., 3520 bytes, like the fp26 one (date 10-10-96)) you need to install
  58. the clock01.sys driver included in this package.
  59.  
  60. Once you have the driver(s) installed, reboot.
  61.  
  62. Note:  There is no need to remove any driver from config.sys.  All you
  63. need to do is add an entry for PARADISE.SYS, and possibly copy the
  64. clock01.sys included in this package to boot:\.  That's all there is
  65. to it.
  66.  
  67.  
  68. Using tMidi
  69. -----------
  70.  
  71. For a detailed technical document in the use of tMidi, register using the
  72. included _order.* forms.  This evaluation version contains basic setup and
  73. use instructions, which is enough to see whether you want to use it.
  74.  
  75.  
  76. Use no args for a list of switches:
  77.  
  78.  [F:\mids\fine]tmidi
  79.  tMidi 2.10   Copyright (C)1997 Cornel Huth   http://www.40th.com/
  80.  Use: [G:\]tmidi [-switch] file.mid
  81.  
  82.   -p1:x     x=hex baseport of MPU for port 1  (e.g., -p1:330 [def])
  83.   -p2:x     x=hex baseport of MPU for port 2+ (e.g., -p2:300)
  84.   -gm       send GM ON sysex before play
  85.   -gs       send GS ON sysex before play
  86.   -xg       send XG ON sysex before play
  87.   -tm:x     x=hex track mask, to play selected tracks only (x=1-FFFFFFFF)
  88.   -tk:n     n=track to mask, repeat as required (n=1 to 32)
  89.   -w1:n     n=max timeout for port 1, n=1000 to 65535, def=10000
  90.   -w2:n     n=max timeout for port 2, n=1000 to 65535, def=10000
  91.  
  92.   "-sx1:x x"       x=hex byte(s) to output to -p1: (single ch msg or sysex)
  93.   "-sx2:x x"       x=hex byte(s) to output to -p2: (must be in "marks")
  94.   "-kb:i pi ch po" IRQ,portIn=1|2,channel=1-16,portOut=1|2 ("-kb:10 1 16 1")
  95.  
  96.  
  97. The default MPU port is 330h, and if there, does not need to be specified.
  98. The Paradise driver handles up any number of ports, and any number of
  99. devices, though tMidi currently supports 16 ports and 2 device.  If a
  100. second device is specified, all output to ports 2 through 16 go to it.
  101.  
  102. An example output during a run:
  103.  
  104.  [F:\paradise\tmidi\mids]tmidi -p1:330 -p2:300 -gm -tm:FFFFF inferno.mid
  105.   1:45  fmt:1 tks: 9 div:120  GM    123456789 1234567890
  106.   0:15.88  6/8   4:1  67bpm  136Hz  TTTTTTTTT PP.......P
  107.  
  108. In this case, 3 ports have been specified:  port 1 data goes to the MPU
  109. at -p1:330; port 2 and port 10 data goes to the MPU at -p2:300.  All
  110. tracks are played (-tm:FFFFF used only for example).  The screen output
  111. makes use of ANSI color, where it's needed.
  112.  
  113. For details, see tmidi.tec (registered version).
  114.  
  115.  
  116. Specifying Mode
  117. ---------------
  118.  
  119. An optional switch is the MIDI playback mode:  GM, GS, or XG.  If the
  120. SMF contains no embedded mode, you can specifiy it via the command line.
  121. If the SMF already contains a mode, you cannot override it.
  122.  
  123.  
  124. Specifying Tracks
  125. -----------------
  126.  
  127. Supply either a hex mask for tracks to play, or select them individually
  128. using -tk:.  Only the first 32 tracks can be played if either of these
  129. are used, otherwise, 1000+ tracks can be played.
  130.  
  131.  
  132. Specifying Waits
  133. ----------------
  134.  
  135. To detect when the MPU interface has been reset out from under it, the
  136. Paradise driver checks for a timeout condition to occur.  By default, it
  137. counts down 10,000 times before concluding that something's gone wrong.
  138.  
  139. For very fast systems this may be too soon.  If you get a time-out error
  140. reported, or otherwise do not hear anything when you expect you should,
  141. use the -w1: switch to set this wait timeout value.  The valid range is
  142. 1000 to 65535, with the default set to 10,000.
  143.  
  144. An additional fail-safe has been added to this time-out check:  when a
  145. time-out condition has occured 5 times in a row the current play is
  146. stopped and tmidi exits.  The next play should go as expected.
  147.  
  148.  
  149. Specifying Data to Send To the MPU
  150. ----------------------------------
  151.  
  152. Using -sx1: (-sx2: for -p2: MPU) you can send a single channel or system
  153. exclusive messages to the MPU(s).  The entire argument must be enclosed in
  154. double-quote marks.  For example:
  155.  
  156.  [G:\]tmidi -gs "-sx1:F0 41 42 12 40 00 7F 00 FF F7"
  157.  
  158. The above sends a GS RESET sysex message to the MPU.  The checksum is
  159. calculated if FF is used in the checksum place (and -gs).  See tmidi.tec
  160. (available to registered usrs only) for details and tips.
  161.  
  162.  
  163. Specifying an External Controller
  164. ---------------------------------
  165.  
  166. If you have an external controller, like a MIDI-capable keyboard, you can
  167. use it with tMidi.  You can specify the IRQ (required), portIn, portOut,
  168. and MIDI channel to output to.  See tmidi.tec for details and tips.  The
  169. entire argument must be enclosed in double-quote marks.
  170.  
  171. You must supply either a SMF filename or a sysex/channel msg (-sx above) on
  172. the command line with this switch.
  173.  
  174. For example, to play the keyboard connected to the port 1 device, using
  175. IRQ 10, out to the port 1 device, on channel 16:
  176.  
  177.  [G:\]tmidi xg_on.mid           ;switch to XG mode
  178.  [G:\]tmidi "-sx1:BF 00 40"     ;switch to SFX bank (may need BF 20 00 also)
  179.  [G:\]tmidi "-sx1:CF 21" "-kb:10 1 16 1"  ;set program to THUNDER, then
  180.                                 ;using IRQ10, read from port 1 device
  181.                                 ;and output to channel 16 on port 1 device
  182.  
  183. When you press a key, you get rolling thunder!
  184.  
  185. The keyboard remains active until you press a key on the (type) keyboard,
  186. such as ENTER (or up-arrow).
  187.  
  188.  
  189. Limitations
  190. -----------
  191.  
  192. A compatible MPU-401 device is required.  This includes not only
  193. real MPU-401 devices, but cards like the Sound Blaster 16, AWE32, etc.,
  194. with either a daughterboard (CL Wave Blaster, Yamaha DB50XG, etc.), or
  195. a sound module or keyboard attached to the external MIDI port.  Stand-
  196. alone cards, like the Yamaha SW60XG, can be used, too.  There are no
  197. plans to work with other, non-MPU devices at this time.
  198.  
  199.  
  200. Tips
  201. ----
  202. See tmidi.tec.
  203.  
  204. See the README for more.
  205.  
  206. Filename is tmidi210.zip.
  207.